home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / mint / lib / mntc6846.zoo / patch / Makefile < prev    next >
Encoding:
Makefile  |  1995-04-03  |  5.9 KB  |  210 lines

  1. #
  2. #    Makefile for c68 version of MiNTlibs
  3. #
  4. #    There's a certain amount of ugliness here because of dain bramage
  5. #    in SozobonX's make; these are marked with the comment (blech).
  6. #    and will be removed in the event of bugfixes.
  7. #
  8.  
  9. #MMODEL    = -mlong
  10. #LIBC    = libc32.a
  11. #LIBIIO    = libiio32.a
  12.  
  13. #LIBC    = libc.a
  14. #LIBIIO    = libiio.a
  15. ALL_LIB    = crt0.o $(LIBC) $(LIBIIO)
  16.  
  17. CC    = cc68x
  18. AS    = jas
  19. AR    = ar
  20. CFLAGS    = -O -DNDEBUG +P-fimplicit-newlines +C-trap $(MMODEL)
  21.  
  22. #RM    = rm -f
  23. #CP    = cp
  24. MAKE    = make
  25.  
  26. LIB    = u:\lib\c68
  27.  
  28. #
  29. # ANSI stuff + support
  30.  
  31. ANSI =    abort.o atexit.o atoi.o atol.o bsearch.o calloc.o clock.o ctime.o \
  32.     ctype.o difftime.o div.o doprnt.o eprintf.o fclose.o fdopen.o \
  33.     fflush.o fgetc.o fgetpos.o fgets.o filbuf.o fopen.o fopen_i.o \
  34.     fprintf.o fputc.o fputs.o fread.o freopen.o fscanf.o fseek.o \
  35.     ftell.o fsetpos.o fungetc.o fwrite.o getbuf.o getenv.o gets.o \
  36.     getw.o ldiv.o localtim.o ltoa.o main.o malloc.o printf.o puts.o \
  37.     qsort.o raise.o rand.o realloc.o rewind.o scanf.o sscanf.o setbuf.o \
  38.     setvbuf.o setlocal.o sprintf.o strftime.o strtol.o strtoul.o \
  39.     system.o tmpnam.o tmpfile.o toxxx.o vfprintf.o vfscanf.o vprintf.o \
  40.     vscanf.o wcmb.o wcscat.o wcscmp.o wcscpy.o wcslen.o wnull.o
  41.  
  42. #
  43. # other miscellaneous stuff
  44.  
  45. PORT =    a64l.o alphasor.o abs.o buffindf.o ctermid.o cuserid.o enoent.o \
  46.     ffs.o findfile.o fopenp.o frwbin.o ftw.o gethostn.o getlogin.o \
  47.     getopt.o getpages.o getpass.o getpw.o grp.o l64a.o labs.o mktemp.o \
  48.     nlist.o obstack.o random.o regexp.o regsup.o scandir.o strlwr.o \
  49.     strupr.o strrev.o sync.o textio.o truncate.o utmp.o wtmp.o ic.o \
  50.     ig.o il.o ip.o iw.o ident.o atof.o
  51.  
  52. #
  53. # stuff to fake unix system calls
  54.  
  55. UNIX =    access.o alarm.o console.o chdir.o chmod.o chown.o close.o \
  56.     closedir.o do_lock.o do_stat.o dup.o dup2.o execl.o execle.o \
  57.     execp.o execv.o execve.o fcntl.o flock.o fork.o fstat.o getcwd.o \
  58.     getdtabl.o getegid.o geteuid.o getgid.o getgroup.o getitimer.o \
  59.     getloadavg.o getpid.o getppid.o getuid.o getrusag.o getwd.o \
  60.     initgroups.o inode.o ioctl.o isatty.o isctty.o kill.o killpg.o \
  61.     link.o lockf.o lseek.o lstat.o mkfifo.o mkdir.o mknod.o nice.o \
  62.     open.o opendir.o pause.o pipe.o perror.o pgrp.o popen.o \
  63.     psignal.o putenv.o read.o readdir.o rewinddi.o rename.o rmdir.o \
  64.     sbrk.o seekdir.o select.o setegid.o seteuid.o setgid.o \
  65.     setitimer.o setregid.o setreuid.o setuid.o sgtty.o sigactio.o \
  66.     sigblock.o siglist.o signal.o sleep.o spawn.o spawnve.o \
  67.     spawnvp.o setrlimi.o stat.o statfs.o symlink.o sysconf.o \
  68.     telldir.o time.o times.o timeoday.o ttyname.o uidgid.o uname.o \
  69.     unlink.o unx2dos.o utime.o vfork.o wait.o wait3.o waitpid.o \
  70.     write.o
  71.  
  72. #
  73. # termios stuff
  74.  
  75. TERMIOS = cfgetisp.o cfgetosp.o cfsetisp.o cfsetosp.o tcattr.o tcbreak.o \
  76.     tcdrain.o tcflow.o tcflush.o tcpgrp.o
  77.  
  78. #
  79. # the string library
  80.  
  81. STRING = strcat.o strchr.o strcmp.o strcpy.o strcspn.o strdup.o strlen.o \
  82.     strncat.o strncmp.o strncpy.o strpbrk.o strrchr.o strspn.o \
  83.     strtok.o strstr.o memccpy.o memcmp.o memchr.o memset.o bcopy.o \
  84.     bcmp.o bzero.o strerror.o strcoll.o stricmp.o strnicmp.o
  85.  
  86. #
  87. # Interna and c68 specific stuff
  88.  
  89. SPECIAL = crtinit.o stksiz.o inistack.o heapbase.o binmode.o alloca.o \
  90.     setjmp.o osbind.o thread.o sysvar.o initsig.o defmode.o linea.o \
  91.     stackche.o stackerr.o stmttrac.o xdiv.o xmul.o
  92.  
  93. #
  94. # IEEE support routines
  95.  
  96. IEEE =    dfadd.o dftol.o frexp.o modff.o sfmul.o sftst.o dfcmp.o dfneg.o\
  97.     dftosf.o sfadd.o sfneg.o sfutosf.o dfdiv.o dftoul.o ldexp.o\
  98.     sfcmp.o sftodf.o xerror.o dfltodf.o dftst.o sfdiv.o sftol.o\
  99.     xnorm4.o dfmul.o dfutodf.o modf.o sfltosf.o sftoul.o xnorm8.o
  100.  
  101. #
  102. # stuff for integer only scan/printf
  103.  
  104. IIOBJS    = printf.o fprintf.o sprintf.o vprintf.o vfprintf.o \
  105.     idoprnt.o fscanf.o sscanf.o vscanf.o vfscanf.o iscanf.o
  106.  
  107.  
  108. ALL = $(ANSI) $(PORT) $(UNIX) $(TERMIOS) $(STRING) $(SPECIAL) $(IEEE)
  109.  
  110.  
  111. lshort: short.tag
  112.     $(MAKE) MMODEL=-mshort LIBC=libc.a LIBIIO=libiio.a install
  113.  
  114. llong: long.tag
  115.     $(MAKE) MMODEL=-mlong LIBC=libc32.a LIBIIO=libiio32.a install32
  116.  
  117. # (blech) Since SozobonX's make, which is probably the one being used
  118. # with c68, doesn't have a touch command, we copy a small file to create
  119. # the .tag files.
  120. short.tag long.tag:
  121.     $(MAKE) clean
  122.     $(RM) short.tag long.tag
  123.     -$(CP) stksiz.c $@
  124.  
  125. all:    crt0.o $(LIBC) $(LIBIIO)
  126.  
  127. # (blech) Because of a bug in SozobonX's make, macros from the command
  128. # line aren't expanded in dependency lines; the target for this line
  129. # should have been $(LIBC)...
  130. libc.a libc32.a: $(ALL)
  131.     $(AR) rc $@ $(ALL)
  132.     libsort -M -u __crtinit $@
  133.  
  134. # (blech) ...and here $(LIBIIO).
  135. libiio.a libiio32.a: $(IIOBJS)
  136.     $(AR) rc $@ $(IIOBJS)
  137.  
  138. clean:
  139.     $(RM) crt0.o $(LIBC) $(LIBIIO) $(ALL) $(ASM) iscanf.o idoprnt.o
  140.  
  141. spotless: clean
  142.     $(RM) short.tag long.tag
  143.  
  144. # (blech) And again, these two rules were originally the same, with the
  145. # target $(ALL_LIB); because of the above-mentioned bug, we have to do
  146. # it this ugly way.
  147. install: crt0.o libc.a libiio.a
  148.     $(CP) crt0.o $(LIB)\crt0.o
  149.     $(CP) $(LIBC) $(LIB)\$(LIBC)
  150.     $(CP) $(LIBIIO) $(LIB)\$(LIBIIO)
  151.  
  152. install32: crt0.o libc32.a libiio32.a
  153.     $(CP) crt0.o $(LIB)\crt0.o
  154.     $(CP) $(LIBC) $(LIB)\$(LIBC)
  155.     $(CP) $(LIBIIO) $(LIB)\$(LIBIIO)
  156.  
  157.  
  158. #
  159. # Assembler stuff that needs to be preprocessed
  160.  
  161. .SUFFIXES: .cpp .spp
  162.  
  163. .cpp.o:
  164.     $(CC) $(MMODEL) -S -o $*.i $<
  165.     mit2mot $*.i
  166.     @$(RM) $*.i
  167.     $(AS) $(AFLAGS) $*.s
  168.     @$(RM) $*.s
  169.  
  170. .spp.o:
  171.     $(CC) $(MMODEL) -c -DAssemB $<
  172.  
  173. .s.o:
  174.     $(AS) $(AFLAGS) $<
  175.  
  176. crt0.o: crt0.cpp
  177. setjmp.o: setjmp.cpp
  178. vfork.o: vfork.cpp
  179. alloca.o: alloca.cpp
  180. bcopy.o: bcopy.cpp
  181. frexp.o: frexp.spp
  182. ldexp.o: ldexp.spp
  183. linea.o: linea.spp
  184. modf.o: modf.spp
  185. modff.o: modff.spp
  186. xerror.o: xerror.spp
  187.  
  188. bzero.o: bzero.cpp
  189.     $(CC) $(MMODEL) -DLbzero -S -o bzero.i bzero.cpp
  190.     mit2mot bzero.i
  191.     @$(RM) bzero.i
  192.     $(AS) $(AFLAGS) bzero.s
  193.  
  194. memset.o: bzero.cpp
  195.     $(CC) $(MMODEL) -DLmemset -S -o memset.i bzero.cpp
  196.     mit2mot memset.i
  197.     @$(RM) memset.i
  198.     $(AS) $(AFLAGS) memset.s
  199.  
  200. ASM =    alloca.s bcopy.s bzero.s crt0.s memset.s setjmp.s vfork.s
  201.  
  202.  
  203. #
  204. # integer only io stuff
  205. idoprnt.o: doprnt.c
  206.     $(CC) $(CFLAGS) -D__NO_FLOAT__ -c -o idoprnt.o doprnt.c
  207.  
  208. iscanf.o: scanf.c
  209.     $(CC) $(CFLAGS) -D__NO_FLOAT__ -c -o iscanf.o scanf.c
  210.